import axiosInstance from '../assets/js/axiosClient'; // 直接导入 axiosInstance
export interface BaseUser {
  username?: string; // 用户名
  password?: string; // 密码 (应存储为哈希值)
  email?: string; // 电子邮件
  firstName?: string; // 名字
  lastName?: string; // 姓氏
  profilePicture?: string; // 头像URL
  bio?: string; // 个人简介
  socialMediaLinks?: Record<string, any>; // 社交媒体链接
  roles?: string[]; // 用户角色，默认为普通用户
  createdAt?: Date; // 创建时间
  updatedAt?: Date; // 更新时间
}

interface CreateUser extends BaseUser {
  username: string; // 用户名（创建时必填）
  password: string; // 密码（创建时必填）
  email?: string; // 电子邮件（创建时必填）
}

interface QueryUserList extends BaseUser {
  pageSize?: number; // 每页条数
  pageIndex?: number; // 当前页码
}
interface UserLogin extends BaseUser {
  username: string; // 电子邮件（创建时必填）
  password: string; // 密码（创建时必填）
  _id?: string; // 用户ID
}


// 注册或更新
export const register = async (params: CreateUser) => {
  const res = await axiosInstance.post('/users/register', params)
  return res.data
}

// 列表
export const users = (params?: QueryUserList) => {
  return axiosInstance.get('/users', { params: params })
}

// 登录
export const login = async (params: UserLogin) => {
  const res = await axiosInstance.post('/users/login', params)
  return res.data
}

